package com.example.makerspace.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;

@ToString
@Getter
@AllArgsConstructor
public enum ResultCodeEnum {

    //  通用
    SUCCESS(200, "SUCCESS"),
    ERROR(500, "服务端异常"),
    ID_NOT_EXIST(410, "ID不存在"),
    //  注册登录模块5002xx
    ERROR_VALIDATE_CODE(500201, "验证码错误"),
    REGISTER_FAIL(500202, "注册失败，请检测用户是否被注册过"),
    USER_DONT_EXIST(500203, "账号不存在，请先注册"),
    USER_EXIST(500204, "该账号已存在"),
    LOGIN_ERROR(500205, "账号或密码不正确"),
    UNSIGNED_USER(500206, "用户未登录"),
    IS_NOT_ADMIN(500207, "该用户没权限"),
    ALREADY_LOGIN(500208, "用户已登录"),
    CHANGE_PASSWORD_SUCCESS(500209, "密码修改成功"),
    VERIFY_PASSWORD_NOT_MATCH(500210, "密码不一致"),
    VALIDATE_CODE_AND_VERIFY_PASSWORD_NOT_MATCH(500211, "密码不一致&验证码错误"),
    App_Code(500212,"AppCode错误"),
    Invalid_Url (500213,"请求的 Method、Path 或者环境错误"),
    Invalid_Param_Location(500214,"参数错误"),
    Unauthorized(500215,"服务未被授权（或URL和Path不正确）"),
    Quota_Exhausted(500216,"套餐包次数用完"),
    Other_Error(500217,"其他错误"),
    URL_Format(500218,"URL格式错误"),
    URL_Address(500219,"URL地址错误"),
    Message_SUCCESS(500220,"验证码发送成功"),
    Message_Error(500221,"验证码发送失败"),
    Company_Error(500222,"企业认证识别失败"),
    Company_SUCCESS(500222,"企业认证识别成功"),
    Unable_Is_Company(50023,"未完成企业认证"),
    Unable_Finally_Authentication(50024,"未完成认证,请先认证"),
    NO_REGISTER(50025, "该用户没有注册过,请先注册"),
    Have_REGISTER(50029, "该用户已经注册过了,请勿多次注册"),
    Company_upload_SUCCESS(50026,"企业资质证明上传成功"),
    Company_Update_SUCCESS(50027,"企业证明修改成功"),
    Fail_Talk(50028,"目前我还不理解您的意思"),
    User_Disable(50029,"目前我还不理解您的意思"),
    Name_Repeat(50030,"项目名字重复"),




    //  报名模块5003xx
    USER_APPLICATION_SUCCESS(500301, "报名成功"),
    USER_APPLICATION_FAIL(500302, "报名失败，请检查信息是否填写有误"),
    ALREADY_APPLICATION(500303, "该用户已报名"),
    NOT_ALLOWED_STATUS(500304, "首页竞赛无法删除，请先取消首页标志"),
    APPLICATION_EXIST(500305, "存在报名数据无法删除"),
    MUST_NOT_EXIST(5000306,"缺少必须的参数"),
    USER_NO_Application(5000307,"该用户还未报名"),
    USER_NO_PASS(5000308,"用户还没有通过报名审核,不能选择赛题"),
    USER_DELETE_SUCCESS(5000309,"用户删除成功"),
    // 管理模块5004xx
    DEMAND_EXIST(500401, "该需求已存在"),
    TECHNIC_EXIST(500402, "该技术已存在"),
    COMPANY_EXIST(500403, "该公司已存在"),
    USER_NOT_EXIST(500404, "该用户不存在"),
    APPLICATION_NOT_EXIST(500405, "该报名单不存在"),
    DEMAND_NOT_EXIST(500406, "该需求不存在"),
    TECHNIC_NOT_EXIST(500407, "该技术不存在"),
    COMPANY_NOT_EXIST(500407, "该公司不存在"),
    BOOK_EXIST(500408, "该书籍已存在"),
    BOOK_NOT_EXIST(500409, "该书籍不存在"),
    COURSE_EXIST(500410, "该课程已存在"),
    COURSE_NOT_EXIST(500411, "该课程不存在"),
    EXAM_EXIST(500412, "该考试已存在"),
    EXAM_NOT_EXIST(500413, "该考试不存在"),
    NEWS_EXIST(500414, "新闻标题已存在"),
    NEWS_NOT_EXIST(500415, "新闻不存在"),
    CATEGORY_NOT_EXIST(500416, "分类已存在"),
    CATEGORY_EXIST(500417, "分类不存在"),
    LATEST_NEW_NOT_EXIST(500418, "资讯不存在"),
    LATEST_NEW_EXIST(500419, "资讯已存在"),
    ATTACHMENTS_NOT_EXIST(500420, "用户未上传附件"),
    BOOK_CHAPTER_NOT_EXIST(500421, "本章节不存在"),
    BOOK_CHAPTER_EXIST(500422, "本章节已存在"),
    VIDEO_CHAPTER_NOT_EXIST(500421, "本章节不存在"),
    VIDEO_CHAPTER_EXIST(500422, "本章节已存在"),
    QUESTION_NOT_EXIST(500423, "本题不存在"),
    QUESTION_EXIST(500424, "本题已存在"),
    PERSON_NOT_EXIST(500425, "人员不存在"),
    GRAPH_PROPERTY_EXIST(500426, "属性配置已存在"),
    GRAPH_PROPERTY_NOT_EXIST(500427, "属性配置不存在"),
    ONLY_SUPER(500428, "只有超级管理员才可添加管理员权限"),
    TABLE_NOT_EXIST(500429, "该表不存在"),
    COMPETITION_EXIST(500430, "赛题已存在"),
    COMPETITION_NOT_EXIST(500431, "赛题不存在"),

    //创客&开源项目领域
    AREA_EXIST(500501, "领域已存在"),
    LANGUAGE_EXIST(500502, "语言已存在"),
    TYPE_EXIST(500503, "类别已存在"),
    FOLLOW_EXIST(500504, "用户已关注"),
    FOLLOW_CANCEL(500505, "用户已取消"),
    MARK_CANNOT_CANCLE(500505, "首页竞赛无法删除，请先取消首页"),
    // 请求相关5005xx
    FILE_SIZE_EXCEED(500501, "文件大小超过限制"),

    // 大联盟相关5006xx
    CONTACT_INFO_EXIST(500601, "已添加过联系方式"),
    CONTACT_INFO_NOT_EXIST(500602, "联系方式不存在"),


    // 梦工厂相关5007xx
    GRAPH_CONFIG_NOT_EXIST(500601, "该类型配置不存在"),
    GRAPH_CONFIG_EXIST(500602, "该类型配置已存在"),

    //赛题模块
    ADD_Questions_SUCEESS(500701,"赛题添加成功"),
    Update_Questions_SUCEESS(500702,"赛题修改成功"),
    DELETE_Questions_SUCEESS(500703,"赛题删除成功"),
    Enroll_Querstion_SUCEESS(500704,"赛题报名成功"),
    Submit_QUerstion_SUCEESS(500705,"赛题提交成功"),
    NO_SELECT_QUerstion(500705,"该赛题没有选择过"),
    HAVE_SELECT_QUerstion(500706,"该赛题已经报名过"),



    //状态阶段
    Register_Competition(0, "报名参赛"),
    Question_Selection(1, "赛题选择"),
    Submission(2, "作品提交"),
    JudgingWorks(3,"作品评审"),
    recommend(4,"成功推荐"),


    //产品模板
    SUCCESS_DELETE_Products(500801,"删除产品成功"),
    Fail_DELETE_Products(500802,"删除产品失败"),
    SUCCESS_UPDATE_Products(500803,"修改产品成功"),
    Fail_UPDATE_Products(500804,"修改产品成功"),
    Fail_Shelves_Products(500805,"上架产品失败"),
    SUCCESS_Shelves_Products(500806,"上架产品成功"),
    Product_EXIST(10086, "该产品已经存在！"),
    NO_DATA(500807,"暂无数据"),

    //代理模块
    UN_AGENTED(500808,"未代理这家公司,请前去代理"),
    PROXY_AUDIT(500809,"想要代理的公司还在审核中,请等待审核通过"),
    PROXY_Fail(500810,"想要代理的公司代理驳回了,请重新代理申请")

    ;
    private final Integer code;
    private final String message;
}
